{{tag>réseau serveur }}
----
====== Pound ======
Pound est un programme qui permet entre autre de faire :
  * Du load balancing avec gestion du fail over ;
  * Du reverse proxy ;
  * Du SSL wrapping (il s'occupera de l'encapsulation/désencapsulation de HTTPS vers HTTP).

[[http://www.apsis.ch/pound/|Site officiel]]

===== Installation =====

Pound étant présent par défaut dans les dépôts, il vous suffit d' [[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt>pound|pound]]**

===== Configuration =====
Il vous faudra [[:tutoriel:comment_modifier_un_fichier|modifier le fichier]] **/etc/pound/pound.cfg** en tant qu'[[:sudo|administrateur]] pour configurer Pound sinon il ne se lancera pas.\\
Voici un exemple de configuration simple (quasiment la configuration fournie par défaut à l'installation de Pound) :

<file>
User            "www-data"
Group           "www-data"

Alive           30

Control "/var/run/pound/poundctl.socket"

ListenHTTP
        Address 192.168.1.16
        Port    8080

        Service
                BackEnd
                        Address 127.0.0.1
                        Port    8000
                End
        End
End
</file>

Dans l'exemple ci-dessus, Pound va écouter les requêtes sur l'interface recevant l'IP 192.168.1.16 sur le port 8080, ces requêtes seront redirigées sur le port 8000 en local (127.0.0.1).

===== Première exécution =====

Vous devez autoriser Pound à se lancer en [[:tutoriel:comment_modifier_un_fichier|ouvrant le fichier]] **/etc/default/pound** en tant qu'[[:sudo|administrateur]] pour modifier la valeur "startup" à 1:
<file>startup=1</file>

Vous pouvez ensuite lancer Pound :
<code>/etc/init.d/pound start</code>
FIXME Pas besoin de sudo? ça marche avec **sudo service pound start** ?
  
===== fonctionnalité HTTPS wrapper =====

Vous pouvez facilement utiliser la fonctionnalité d'encapsulation HTTPS. Voici un exemple des lignes qui concernerait un tel serveur :

<file>
ListenHTTPS
        Address 192.168.1.16
        Port    443
        Cert    "/etc/pound/cert/local.server.pem"

        Service 
                BackEnd 
                        Address 127.0.0.1
                        Port    8000
                End
        End
End
</file>

Où **local.server.pem** est votre certificat.

Pour rappel vous pouvez générer un certificat autosigné à l'aide d'openssl par la commande suivante :
<code>openssl req -x509 -newkey rsa:1024 -keyout local.server.pem -out local.server.pem -days 365 -nodes</code>
  
===== Sources =====

  * [[http://www.cyberciti.biz/faq/linux-http-https-reverse-proxy-load-balancer/|Linux install and configure pound reverse proxy for Apache http / https web server]]

----
//Contributeurs: FIXME //